"""
cencoding = 'utf-8'
@author : fhy
@time   : 2022年03月09日  15:34
@IDEL   : PyCharm
@goal   : learn os
"""
import os

print("=" * 20, "当前目录", "=" * 20)
# 获取当前目录
print(os.getcwd())
# 获取当前目录的父目录
print(os.path.abspath('..'))
# 获取当前目录的父目录的父目录
print(os.path.abspath('../..'))

print("=" * 20, "about systeminfo", "=" * 20)
# 1. about systeminfo
print(os.name)  # posix
print(os.environ)  # 环境变量
print(os.uname())  # 获取系统信息
print(os.sep)  # 系统路径分隔符
print(os.pathsep)  # 系统路径分隔符

print("=" * 20, "about file", "=" * 20)
# 2. about file
# os.mkdir('stddemo')  # 创建目录
# os.rmdir('stddemo')  # 删除目录
# os.makedirs('stddemo/sub1/sub2')  # 创建多级目录
# os.removedirs('stddemo/sub1/sub2')  # 删除多级目录
# os.rename('stddemo/sub1', 'stddemo/sub3')   # 重命名
print(os.listdir('.'))  # 获取当前目录下的文件列表
print(os.path.exists('stddemo'))  # 判断文件是否存在
print(os.path.isfile('stddemo'))  # 判断是否是文件
print(os.path.isdir('stddemo'))  # 判断是否是目录
print(os.path.split('stddemo/sub3'))  # 将路径分割成目录和文件名
print(os.path.splitext('stddemo/sub3.py'))  # 将路径分割成目录和文件名和文件扩展名
print(os.path.join('stddemo', 'sub1'))  # 将目录和文件名合并成路径
print(os.path.getatime('stddemo/sub3'))  # 获取文件最后访问时间
print(os.path.getmtime('stddemo/sub3'))  # 获取文件最后修改时间
print(os.path.getctime('stddemo/sub3'))  # 获取文件最后创建时间
print(os.path.getsize('stddemo/sub3'))  # 获取文件大小
print(os.path.isabs('stddemo/sub3'))  # 判断路径是否是绝对路径

print("=" * 20, "about system command", "=" * 20)
# 3. system command on linux
os.system('ls')  # 执行系统命令
os.popen('ls -l')  # 执行系统命令
os.system("ls")
os.system("touch ns.py")
os.system("mkdir ns")
os.system("rm ns.py")
os.system("rm -r ns")
